/**
  ******************************************************************************
  * @file    bsp_common_type.h
  * @author  Yun
  * @version V1.0.0
  * @date    2025-02-12
  * @brief   底层驱动框架通用类型定义
  * @license EULA (End User License Agreement)
  *          Copyright (c) 2025 星瑜科技自动化 Co., Ltd. All rights reserved.
  ******************************************************************************
  */

#ifndef FRAMEWORK_BSP_COMMON_TYPE_H
#define FRAMEWORK_BSP_COMMON_TYPE_H

#ifdef __cplusplus
extern "C" {
#endif

/*---------------------- Includes ----------------------*/
#include "stm32f1xx_hal.h"
#include "string.h"
#include "stdint.h"

/*---------------------- 宏定义 ----------------------*/
/**
  * @brief  BSP操作状态快速检查宏
  * @param  func: 待检查的设备操作函数
  * @retval 无
  * @note   当操作状态不等于HAL_OK时，立即返回BSP_ERROR
  * @usage  CHECK_BSP_STATUS(Bsp_Init());
  */
#define CHECK_BSP_STATUS(func) do { \
    if ((func) != BSP_OK) {         \
        return BSP_ERROR;           \
    }                               \
} while(0)

/*---------------------- 类型定义 ----------------------*/
/**
  * @brief  操作类型定义
  */
enum Bsp_Error_Type {
    BSP_ERROR = 0U,  /*!< 错误 */
    BSP_OK,         /*!< 成功 */
};

#ifdef __cplusplus
}
#endif

#endif //FRAMEWORK_BSP_COMMON_TYPE_H

/************************ (C) COPYRIGHT 星瑜科技自动化 *****END OF FILE****/
